Program transformation of embedded systems
نویسنده
چکیده
This thesis explores the use of program transformation tools in the analysis and compilation of programs for embedded systems. The intrinsic difficulty in programming for these small-scale systems arises from the discrete effects that executing an instruction produces. In larger scale systems these effects are masked by the large number of instructions executed to perform a typical action. The central claim of this thesis is that program transformation tools can aid the programmer in understanding and controlling these effects and therefore reduce the complexity of the problem; both in difficulty and in scale. We have investigated this method on two cases that are typical of the problems in embedded software development; software timing and precision. In the former case we have developed a novel abstract interpretation that computes the timing distance between locations in a program binary. Our new technique for analysing the structure of a program can then be combined with the set of timing distances to generate models of the timing behaviour of the program. We demonstrate this work in the context of verifying legacy applications. In the later case we look at the problem of roundoff error in software. Given the small datasizes on typical embedded processors, the programmer is normally responsible for handling the rounding of values and ensuring that datatypes are sufficiently large to represent data without an error. We present a domain specific language that allows this property to be expressed directly. Analysis of how to propagate the variable precisions in this domain is investigated, and we conclude with a technique to automatically generate a compiler for the domain.
منابع مشابه
A Framework For Design of Heterogeneous Multi-processor Embedded Systems
Due to the technological advances, mapping of embedded applications onto single-chip multi-processor systems becomes a feasible and very interesting option. What is needed is an environment that supports the designer in transforming an algorithmic specification into a suitable parallel implementation. In this report we present a new such environment, which we developed within our laborartory. A...
متن کاملAutomatic Validation of Code-Improving Transformations
Programmers of embedded systems often develop software in assembly code due to inadequate support from compilers and the need to meet critical speed and/or space constraints. Many embedded applications are being used as a component of an increasing number of critical systems. While achieving high performance for these systems is important, ensuring that these systems execute correctly is vital....
متن کاملThe Health System Impact Fellowship: Perspectives From the Program Leads; Comment on “CIHR Health System Impact Fellows: Reflections on ‘Driving Change’ Within the Health System”
As the Canadian Institutes of Health Research (CIHR) leads in designing and implementing the new Health System Impact (HSI) Fellowship program, we congratulate Sim et al for their thoughtful contribution to the nascent literature on embedded research, and for advancing our own learning about the HSI Fellowship experience. In our commentary, we describe the HSI Fellowship and its key components,...
متن کاملActivity Documents
The goal of the Provably Correct Systems project (ProCoS) is to develop a mathematical basis for development of embedded, real-time, computer systems. This survey paper introduces the speciication languages and veriication techniques for four levels of development: Requirements deenition and control design; Transformation to a systems architecture with program designs and their transformation t...
متن کاملAnalyzing Graph Transformation Systems through Constraint Handling Rules
Graph transformation systems (GTS) and constraint handling rules (CHR) are nondeterministic rule-based state transition systems. CHR is well-known for its powerful confluence and program equivalence analyses, for which we provide the basis in this work to apply them to GTS. We give a sound and complete embedding of GTS in CHR, investigate confluence of an embedded GTS, and provide a program equ...
متن کامل